Applications including software services and Web services provide a way to access software functionality that can be reused for a variety of purposes by different clients. Services are usually provided by a server or other entity and are accessed by clients remotely over a network connection, such as a local area network (LAN), a wide area network (WAN), the Internet, etc. Further, a service may provide an application programming interface (API) that can be used by users to access functionality provided by the service.
There are numerous distinct software applications that run on compute, storage, and network infrastructure that may be offered by a service provider(s). A few of these, such as a relational database management system, NoSQL system, or direct network file system, may be dependent on storage to provide functionality. There is variety in the configurations of storage that are used to deliver high-performance, consistency, and high-availability around storage-bound workloads. However, there is confusion on the best practice for optimized implementations, and many generic product offerings end up being mismatched to the specific needs of a storage application.